home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / games_d / rtankexe.zip / MANUAL.DOC < prev    next >
Text File  |  1995-03-07  |  34KB  |  740 lines

  1.  
  2.  
  3.                                        ROBOTANK
  4.  
  5.                                 BECAUSE "WAR IS HELL!"
  6.  
  7.  
  8.  
  9.                                      VERSION 1.0
  10.                                    RELEASE DATE 6/89
  11.  
  12.  
  13.                                 ROBOTANK was written by:
  14.                                    ALEXANDER WALSH
  15.  
  16.  
  17.                                  31 Cumberland Cres.
  18.                                  St. John's, Newfoundland
  19.                                     CANADA, A1B-3M4
  20.  
  21.                                  All rights reserved.
  22.  
  23.  
  24.  
  25.         System Requirements
  26.                ROBOTANK  1.0 will  run  on all  IBM  PC,  XT, AT  and  100%
  27.                compatible computers. It requires a minimum of  512K RAM and
  28.                one floppy drive. ROBOTANK runs on  a CGA video display, and
  29.                requires DOS version 2.0 or higher.
  30.            
  31.         
  32.           About ROBOTANK
  33.  
  34.                     ROBOTANK is a very player involved tank battle game now
  35.                available  for  the IBM  PC  and it's  compatables. ROBOTANK
  36.                allows the  player to  create, write,  test,  and debug  the
  37.                computer  logic for  an electronic  tank with  a variety  of
  38.                weapons and hunting  options. It  allows various players  to
  39.                battle up  to ten of  their creations  in several  different
  40.                graphical  "battleground" setting and  watch the  results of
  41.                their efforts unfold before their eyes. 
  42.                     ROBOTANK incorporates a powerful-but-simple tank battle
  43.                language called TINK, which allows the player to program his
  44.                tank  to  practice  ANY variety  of  offensive  or defensive
  45.                strategies against the enemy.  So, not only does the  player
  46.                get to enjoy the  thrill of battle, but also  the experience
  47.                of writing working computer programs.
  48.            
  49.           ROBOTANK as a language for tank combat
  50.  
  51.                     ROBOTANK is unlike its counterparts  in the arcade game
  52.                market  in that is  a complete battle  computer language. As
  53.                such,  it necessarily  lacks  the  intuitively  obvious  but
  54.                limiting  user  interface found  in  such programs  as HEAVY
  55.                METAL and ARCTICFOX. 
  56.  
  57.                     Although ROBOTANK seems  at first a bit  more difficult
  58.                to use than  these other products  this is only because  the
  59.                program's commands must  be typed in rather than picked from
  60.                a list. This language interface offers much more versatility
  61.                and flexabilty and  does not require odd  keyboard sequences
  62.                or special hardware to utilize.
  63.            
  64.                     Here  is  an  example  of  a complete  ROBOTANK  battle
  65.                program for a tank which chases  and attacks enemy vehicles.
  66.                Notice how straight-forward the program  is and how similiar
  67.                it is to what  a person playing  a typical tank arcade  game
  68.                would actually do:
  69.  
  70.           ---------------------------------------------------------------- 
  71.           make dir                    
  72.            
  73.           :align                      ; Turn the tank's turrent ...
  74.           aim ctdir                   ; toward the tanks front. 
  75.           jneq ctdir,cgdir,:align     ; Keep turning until there.
  76.            
  77.           lock 1                      ; Syncronize the turrent and tank.
  78.            
  79.           :again 
  80.           scope dir                   ; Check scope for enemy location.
  81.           face dir                    ; Turn in that direction.
  82.           jneq ctdir,dir,:again       ; Are we facing it yet? No, go back.
  83.           fire                        ; Yes, ATTACK
  84.           move                        ; and move towards it
  85.           goto :again                 ; And do it again!!!
  86.  
  87.         ---------------------------------------------------------------- 
  88.  
  89.                     Remember  that in  learning  any language,  proficiency
  90.                comes with  practice. With just a little  practice, you will
  91.                find the  TINK programming  language for  combat capable  of
  92.                fulfilling your most creative battle plans with ease.
  93.  
  94.           Creating a tank for combat with ROBOTANK
  95.  
  96.                     The  creation of a battle  tank with ROBOTANK begins in
  97.                the ROBOTANK  control center (ROBOTANK.EXE).  Here, you give
  98.                your  tank  a  name,  a  particuliar  chassis  size,  and  a
  99.                selection of weapons  and additional hunting  devices. These
  100.                selections are based on the type  of tank you have imagined.
  101.                For example, a patrol tank would have to be fast and  have a
  102.                wide  selection  of  scanning  options,  while   having  few
  103.                weapons.  Meanwhile, the  offensive tanks  would have  heavy
  104.                armor and weaponry, keeping tracking equipment to a minimum.
  105.            
  106.                     You  would  then  move  on to  the  tank  logic  editor
  107.                (selected from the on-screen menu bar). Here, you write your
  108.                program  line by  line, perhaps  adding  previously-saved or
  109.                'stock' subroutines. Here also you tell how your tank should
  110.                go about it's planned duties, how  it should react when hit,
  111.                what to do when it spots an enemy, etc.
  112.            
  113.                     Then,  after selecting an appropriate terrain, you test
  114.                your  tank  in  the  battlefield,  against  either  supplied
  115.                enemies, or ones of your own or your  friends design. If the
  116.                tank does not  perform the way  you wished, go  back to  the
  117.                editor, fix the errors, and try again.
  118.            
  119.                     Finally,  you call  up your  friends and  tell them  to
  120.                bring over the tanks they have designed, and battle each off
  121.                in a  series of round-robin  tournaments. May the  best tank
  122.                win.
  123.         
  124.  
  125.           Starting ROBOTANK: the main menu
  126.  
  127.                     If  you  are  in   the  ROBOTANK  subdirectory,  typing
  128.                ROBOTANK at the system  level prompt (C>) will bring  up the
  129.                ROBOTANK main menu and a screen that looks similiar to this:
  130.  
  131.                     To select from  the menu or  picklist, press the  arrow
  132.                keys until  the option  you want  is highlighed,  then press
  133.                return.
  134.            
  135.           FILE/LOAD:          allows   you  to   load   an  existing   TANK
  136.                               SPECIFICATIONS SHEET from the disk.
  137.            
  138.           FILE/SAVE:          allows you to save  a new TANK SPECIFICATIONS
  139.                               SHEET to the disk.
  140.            
  141.           FILE/SHELL:         allows you  to exit  to a  DOS shell.  Typing
  142.                               EXIT  at  the  DOS  prompt  returns   you  to
  143.                               ROBOTANK.
  144.            
  145.           FILE/EXIT:          exits the ROBOTANK  program, returning you to
  146.                               DOS.
  147.            
  148.           CONFIG/NAME:        allows you to modify the name of your tank.
  149.            
  150.           CONFIG/CHASSIS:     allows you to select the chassis size of your
  151.                               tank.
  152.            
  153.           CONFIG/WEAPONS:     allows  you to select which weapons your tank
  154.                               should carry,  each one has  different ranges
  155.                               and damage ratings.
  156.            
  157.           CONFIG/EXTRAS:      allows you to  select which  hunting/tracking
  158.                               equipment your tank should carry.
  159.  
  160.           EDIT:               Enter the ROBOTANK program editor
  161.            
  162.           TEAMS/PLAYERS:      allows you  to enter  the names of  the tanks
  163.                               that will compete on the battleground.
  164.            
  165.           TEAMS/NOTEAM:       allows you  to define  which  tanks will  not
  166.                               belong to any particular team.
  167.            
  168.           TEAMS/TEAM A:       allows you to define which  tanks will belong
  169.                               to TEAM "A"
  170.            
  171.           TEAMS/TEAM B:       allows you to  define which tanks will belong
  172.                               to TEAM "B"
  173.            
  174.           TERRAIN/GRASS:      selects a grassy terrain for battle
  175.            
  176.           TERRAIN/SWAMP:      selects a swamp terrain for battle
  177.            
  178.           TERRAIN/FOREST:     selects a forest terrain for battle
  179.            
  180.           TERRAIN/VILLAGE:    selects a village terrain for battle
  181.            
  182.           BATTLE:             Take the currently  selected contestants into
  183.                               battle
  184.            
  185.  
  186.           Tank chassis type descriptions:
  187.  
  188.                     Your  tank  may  have one  of  three  different chassis
  189.                types;   LIGHTWEIGHT,   REGULATION,  and   HEAVYWEIGHT.  The
  190.                lightweight chassis has a  move rate of 1:1 (which  means it
  191.                will  move once  for every  MOVE command issued),  while the
  192.                regulation and heavyweight tanks have  move rates of 2:1 and
  193.                3:1  respectively.  However,  the  lightweight  tank  has  a
  194.                maximum payload of 1000 lbs, as compared to 2000 and 3000 of
  195.                the regulation and heavyweight chassis's.
  196.  
  197.                     Damage  capacity is  another  concern  when choosing  a
  198.                chassis-type.  The  lightweight type  may  sustain up  to 10
  199.                points  of  damage, in  relation  to  the 20  points  of the
  200.                regulation,  and 30 points of the heavyweight chassis-types.
  201.                Choosing the correct type  of tank frame is one  of the most
  202.                critical decisions in  making a succesful  tank. It must  be
  203.                based on the  purpose you have  intended for you vehical.  A
  204.                small and fast patrol tank, will be much more efficient than
  205.                a  slow  clunky one,  while  a lightweight  tank  will never
  206.                survive intense battle! The choice is yours.
  207.            
  208.           Choosing a tanks weaponry
  209.  
  210.                Weapons are rated on a variety of points, which are:
  211.  
  212.                Range          how far a shot will travel
  213.                Damage          what  sort of  injuries  it can  cause  to an
  214.                                 enemy tank
  215.                Reload Time    how quickly can you shoot multiple shots
  216.                Rounds         how many  shots can the  tank carry  for that
  217.                               weapon
  218.                Weight         how much the gun and ammo weight in pounds
  219.                Other          special features that make that weapon unique
  220.            
  221.                     If  your tank requires weaponry, you  may use the table
  222.                below  to  help you  choose the  ones  that will  serve your
  223.                purpose best:
  224.            
  225.                            RANGE    DAMAGE     RELOAD    ROUNDS    WEIGHT  
  226.           OTHER
  227.            MACHINE 8mm       50       1        0        50       100    
  228.            MACHINE 16mm      45       2        0        30       200
  229.            LASER             10       8        9        40       750     *1
  230.            CANNON            15       15       5         5       800 
  231.            ROCKET            40       10       4        10       650 
  232.            MINE               1       10       0         1        25     *2
  233.            RADIO MINE         1       10       0         1        50     *3
  234.            
  235.           NOTES:
  236.            
  237.           *1   The range of laser fire is covered in ONE move, not one unit
  238.                per move as with other weapons.
  239.            
  240.           *2   A mine  will stay in location  until a tank  hits it. It  is
  241.                then destroyed.
  242.            
  243.           *3   A radio mine  has the same characteristics as  a normal mine
  244.                (see  note  *2). However,  a  radio mine  will  transmit the
  245.                message "99, x,  y" (where x and  y are the  co-ordinates of
  246.                the mine when  it exploded) on the channel the  tank was set
  247.                to when the mine was released.
  248.  
  249.           The ROBOTANK Editor
  250.  
  251.                     If you  have  selected the  EDIT option  from the  main
  252.                menu, you will be in the  ROBOTANK editor. The screen should
  253.                have a few lines at the top that look as follows: 
  254.            
  255.           FILE: C:\ROBOTANK\PATROL.TXT                IN  Line: 1 Col: 1
  256.            Block Search Go to Text format Window File      F10 for pulldown
  257.            
  258.  
  259.                     This information relates  to the  current file and  the
  260.                tools available to manipulate it. At  the left is the editor
  261.                menu bar, this is similiar to the main control panel menu in
  262.                operation. Press F10  to access  the menu bar,  and use  the
  263.                arrow keys to move  the highlight bar to the  desired option
  264.                and press enter to select it. 
  265.                     At  the right  is  the current  cursor column  and line
  266.                number. This  information is for  reference, especially when
  267.                locating errors (which  are reported  by line number).  Also
  268.                indicated  is the status of the INS key on your keyboard. If
  269.                INSERT mode in ON, then characters you type will be inserted
  270.                before the character  just to  the right of  the cursor.  If
  271.                INSERT mode  is OFF,  then characters  to the  right of  the
  272.                cursor will be overwritten.  
  273.            
  274.                Basic program editing features at as follows:
  275.  
  276.                 ARROW KEYS          Move cursor around document
  277.                 PGUP, PGDN          Move cursor around document
  278.                 HOME                Move cursor to start of line
  279.                 END                 Move cursor to end of line
  280.                 DEL                 Erase character at right of cursor
  281.                 BACKSPACE           Erase character at left of cursor
  282.                 F10                 Move up into menu bar
  283.                 CTRL-Y              Delete line
  284.                 CTRL-K B            Block start
  285.                 CTRL-K K            Block end
  286.                 CTRL-K H            Hide/Show block
  287.                 CTRL-K C            Copy block
  288.                 CTRL-K V            Move block
  289.                 CTRL-K Y            Erase block
  290.                 CTRL-K W            Write block to disk
  291.                 CTRL-K R            Read block from disk
  292.  
  293.           ROBOTANK program compiler error codes
  294.  
  295.                     After selecting the  BATTLE option from the  main menu,
  296.                ROBOTANK will  attempt to  load  each tank  into memory  and
  297.                process each as  they would be  in battle. If the  situation
  298.                should arise that there is a mistake in the program, or some
  299.                other  difficulty  arises, ROBOTANK  will  display  an error
  300.                message. The message is in the form: 
  301.  
  302.                 Syntax error L23
  303.                 - GOGO newline
  304.            
  305.                     Which tells the error and the  line number in which the
  306.                error  occured.  Below  the  error  message,  ROBOTANK  will
  307.                display the problem causing line.
  308.            
  309.                     After all  the programs  have been  loaded, and  errors
  310.                have occured, control will  return to the main menu  and the
  311.                battle will be aborted until the  tank in error is repaired.
  312.                Otherwise, battle will commence!
  313.            
  314.           Some error message you may receive are:
  315.  
  316.           COMPILER ERROR      An  internal error out of  your control, this
  317.                               should be reported to the author.
  318.            
  319.           SYMBOL EXISTS       A  symbol defined in the  tanks program (with
  320.                               the MAKE  command) has  already been  defined
  321.                               earlier.
  322.            
  323.           SYMBOL  UNDEFINED   A  symbol is  used in the  program, which was
  324.                               not defined with the MAKE command.
  325.            
  326.           SYNTAX ERROR        The most common error!  A syntax or  spelling
  327.                               mistake may occur due to a stray character in
  328.                               the file or a misplaced command name, etc.
  329.            
  330.           SYMBOL  REQUIRED  AS  FIRST  ARGUMENT   This  error  states  that
  331.                                                   the     first    argument
  332.                                                   following    the   actual
  333.                                                   command must be  a symbol
  334.                                                   (defined  with  the  MAKE
  335.                                                   command)   and   not    a
  336.                                                   constant or line label.
  337.            
  338.           LABEL ALREADY USED       A label was  defined (by preceeding  the
  339.                                    label name with a  colon), that was used
  340.                                    previously in the program.
  341.  
  342.           LINE  REFERENCE   NOT  ALLOWED   AS   ARGA  line   reference   was
  343.                                                   supplied  as an  argument
  344.                                                   to  a   command  when   a
  345.                                                   symbol  or  constant  was
  346.                                                   expected.
  347.            
  348.           LINE REFERENCE REQUIRED       A symbol or contant was supplied as
  349.                                         an  argument to  a  command when  a
  350.                                         line reference was required. 
  351.            
  352.           TOO   FEW/MANY    ARGUMENTS   SUPPLIED       The   incorrect   number    of
  353.                                              arguments  were  supplied  for
  354.                                              the  operation  of  a command.
  355.                                              Check  the   commands  context
  356.                                              again in the manual.
  357.            
  358.           OUT  OF RAM    Your  computer has  insufficient  RAM to  load the
  359.                          desired tank programs.
  360.  
  361.           Using the ROBOTANK battle simulator
  362.  
  363.                     Once  battle has begun,  the screen will  show an above
  364.                view of the battlefield. It will also be tracking the action
  365.                of a particular tank. The name and vital information of that
  366.                tank is displayed on  the bottom four lines of  the display.
  367.                This information looks something like this:
  368.            
  369.                1. PATROL
  370.                DAMAGE: 10
  371.                VAR[00] = 34
  372.                Press SPACE for next, or ESC to end battle
  373.            
  374.                     The simulator  is now  in AUTOMATIC  mode, which  means
  375.                that  it  will adjust  it's  display  in order  to  keep the
  376.                displayed tank on-screen. To view the next tank on the list,
  377.                press the SPACE  BAR. The information  on the bottom of  the
  378.                screen will update and this new tank will be tracked.
  379.            
  380.                     If you wish to move the screen in a manner different to
  381.                that of the simulator, press the ARROW KEYS in the direction
  382.                you wish to move. This will  place you in MANUAL mode (Press
  383.                the space bar to resume to AUTOMATIC mode).
  384.            
  385.                     If you know the number of the tank you wish to monitor,
  386.                simply press the number of the tank  (from 1 to 9, or 0  for
  387.                tank number  10). If  that tank is  not available,  tracking
  388.                will be moved to the next active tank.
  389.            
  390.                On the bottom of the display is the line 
  391.  
  392.                VAR[xx] = yy
  393.  
  394.                where  xx  and yy  are integer  numbers. They  represent the
  395.                contents of the variables that tank is using internally. The
  396.                first  eleven variables  are  reserved  for  the  predefined
  397.                constants, these are defined as follows:
  398.  
  399.                0 - WHEREX     1 - WHEREY    2 - CGDIR      3 - CTDIR     
  400.                4 - LOADED     5 - HIT       6 - NOMOVE     7 - TEAM
  401.                8 - MYTEAM     9 - BLOCKAGE  10- MESSAGE    11- CHANNEL
  402.  
  403.                     After  these  variables,  the variable  defined  in the
  404.                tanks program are listed  (in order of the occurance  of the
  405.                MAKE command in the program).
  406.            
  407.                Other keys which may be used while in the simulator are:
  408.            
  409.                ESC       End battle and display results
  410.                 .        View next variable contents
  411.                 ,        View previous variable contents
  412.                ENTER     Update screen information display
  413.  
  414.                                   ROBOTANK COMMANDS
  415.            
  416.           ----------------------------------------------------------------
  417.           var    
  418.            Is a symbol/variable of up to 15 characters.
  419.            The first character must be A-Z
  420.             (lower-case converted to upper-case)
  421.              These are created with the MAKE command (see below)
  422.            
  423.           :line  
  424.            Is a line-reference with the same spec's as a symbol
  425.            
  426.           num    
  427.            Can be either a symbol or a numeric constant (-32000 to 32000)
  428.           ---------------------------------------------------------------- 
  429.  
  430.           MAKE   var           
  431.                Make space for symbol named "var"
  432.                (should appear at the start of source file)
  433.            
  434.           SELECT num           
  435.                Select weapon "num" as follows:
  436.                1 = MACHINE GUN 8mm
  437.                2 = MACHINE GUN 16mm
  438.                3 = LASER
  439.                4 = CANNON
  440.                5 = ROCKET
  441.                6 = MINE
  442.                7 = RADIO MINE
  443.            
  444.           JEQ num1,num2,:line  
  445.                if num1 = num2 go to ":line"
  446.  
  447.           JLT num1,num2,:line  
  448.                if num1 < num2 go to ":line"
  449.            
  450.           JGT num1,num2,:line  
  451.                if num1 > num2 go to ":line"
  452.            
  453.           JNEQ num1,num2,:line 
  454.                if num1 <> num2 go to ":line"
  455.            
  456.           LEFT                 
  457.                Turn tank counter-clockwise
  458.            
  459.           RIGHT                
  460.                Turn tank clockwise
  461.            
  462.           GLEFT                
  463.                Turn GUN counter-clockwise
  464.            
  465.           GRIGHT               
  466.                Turn GUN clockwise
  467.  
  468.           SET var,num          
  469.                Sets symbol "var" to "num"
  470.            
  471.           ADD var,num          
  472.                Adds "num" to the current value of "var"
  473.            
  474.           RAND var,num         
  475.                Places a random value from 1-"num" into "var"
  476.            
  477.           MOVE                 
  478.                Move tank in current direction  and sets the NOMOVE register
  479.                (see below)
  480.            
  481.           GOTO :line           
  482.                Move program execution to ":line"
  483.            
  484.           FIRE                 
  485.                Fire currently selected weapon in current gun direction
  486.            
  487.           CALL :line           
  488.                Call sub-routine beginning at ":line"
  489.            
  490.           SCOPE var
  491.                Places a  number from 1  to 8 in "var"  corresponding to the
  492.                general direction of the closest enemy  tank. Returns a 0 if
  493.                no other enemy tank is present.
  494.             
  495.           RETURN               
  496.                Return  from  sub-routine which  was  accessed via  the CALL
  497.                command.
  498.            
  499.           RADAR var
  500.                Places a  0 in "var" if no other  enemy tank within 40 units
  501.                of players tank  otherwise contains  a number from  1 to  40
  502.                corresponding to the distance the other tank is away.
  503.  
  504.                NOTE: if more than one  tank is within 40 units,  RADAR will
  505.                return the distance to the closest enemy tank.
  506.            
  507.           SCAN var, num
  508.                Places a  1 in  "var" if an  enemy  tank  is present  in the
  509.                direction indicated by  "num", otherwise SCAN places  a 0 in
  510.                var.
  511.            
  512.           AUTO num
  513.                Set  automatic tank  movement ON  when NUM  is  greater than
  514.                zero, or OFF when NUM =0. 
  515.  
  516.                When AUTO is  ON, the  tank will attempt  to move after  the
  517.                execution of  EVERY command without  having to issue  a MOVE
  518.                command.
  519.            
  520.           LOCK num
  521.                Set automatic  GUN and  TANK syncronization ON  when NUM  is
  522.                greater than zero, or OFF when NUM = 0.
  523.  
  524.                When automatic gun  and tank sync is ON,  whenever a LEFT or
  525.                RIGHT command is  called, the  tanks gun will  move in  that
  526.                same direction. IE: if tank is  in position 3 and gun is  in
  527.                position 5,  after a LEFT command the tank  will be at 2 and
  528.                the gun  will  be at  4. However,  GLEFT and  GRIGHT do  NOT
  529.                effect the position of the tank, they may be used freely.
  530.  
  531.           CHANNEL num
  532.                Sets the tanks  current radio channel to  NUM. All following
  533.                TX and RX commands will affect that channel.
  534.            
  535.           TX num1, num2, num3
  536.                Transmit  message NUM1,  NUM2,  and NUM3  out  on the  radio
  537.                channel currently set by the CHANNEL command. 
  538.            
  539.  
  540.           RX sym1, sym2, sym3
  541.                Read  in a  received message  into symbols  SYM1, SYM2,  and
  542.                SYM3.  If there was  no message  available then  SYM1-3 will
  543.                contain zeros, otherwise  they will contain the  values sent
  544.                by the TX  command. NOTE: The  radio must be monitoring  the
  545.                channel with  the CHANNEL  command in  order to  capture the
  546.                information.
  547.            
  548.           FACE num
  549.                Turns the TANK the best way (LEFT or RIGHT) in order to face
  550.                direction NUM.
  551.  
  552.                If it is equal to move  LEFT or RIGHT in order to  reach the
  553.                destination,  FACE will randomly pick either LEFT or RIGHT.
  554.             
  555.           AIM num
  556.                Turns the tanks GUN the best way (LEFT or RIGHT) in order to
  557.                face direction NUM.
  558.  
  559.                If it  is equal to move LEFT or  RIGHT in order to reach the
  560.                destination,  FACE will randomly pick either LEFT or RIGHT.
  561.            
  562.           CONV numX,numY,var
  563.                Calculates  the   direction  needed  to   reach  coordinates
  564.                (numX,numY)  from  the   tanks  current  location   (whereX,
  565.                whereY). The required direction is placed in VAR.
  566.            
  567.           TANK and GUN Directions:  
  568.            
  569.                       1
  570.                  8    |    2
  571.                    \  |  /   
  572.                7 ---  +  --- 3
  573.                    /  |  \
  574.                  6    |    4
  575.                       5
  576.  
  577.           PREDEFINED SYMBOL CONSTANTS:
  578.            
  579.           WHEREX
  580.                Holds the tanks current X co-ordinate from 1 to 119
  581.            
  582.           WHEREY
  583.                Holds the tanks current Y co-ordinate from 1 to 74
  584.            
  585.           CGDIR
  586.                Holds the tank gun's current direction from 1 to 8  
  587.            
  588.           CTDIR
  589.                Holds the tanks current direction from 1 to 8
  590.            
  591.           LOADED
  592.                Contains a 1 when ready to fire, or 0 when loading
  593.            
  594.           HIT
  595.                Contains a 1 when your tank has been hit and 0 otherwise.
  596.                This register is reset to 0 everytime it is used.
  597.            
  598.           NOMOVE
  599.                Holds a 1 when your tank is  prevented from moving by a wall
  600.                or other tank.
  601.                It is set everytime the MOVE command is executed.
  602.            
  603.           TEAM
  604.                Contains the team  of the tank  detected by the last  RADAR,
  605.                SCAN, or SCOPE command.
  606.  
  607.                0 = NONE
  608.                1 = TEAM A
  609.                2 = TEAM B
  610.            
  611.           MYTEAM
  612.                Contains your team identification.
  613.  
  614.                0 = NONE
  615.                1 = TEAM A
  616.                2 = TEAM B
  617.            
  618.           MESSAGE
  619.                Contains 1  if there is a message waiting  to be read on the
  620.                current radio channel or else it will contain 0 
  621.            
  622.           BLOCKAGE
  623.                Contains  a  number  corresponding  to  the type  of  object
  624.                blocking the movement of a tank, as follows:
  625.  
  626.                0 = NO OBJECT
  627.                1 = FIXED OBJECT (Tree, wall, rubble, etc)
  628.                2 = ANOTHER TANK
  629.  
  630.           CHANNEL
  631.                Contains the radio  channel currently  set with the  CHANNEL
  632.                command.
  633.            
  634.           Final Notes:
  635.  
  636.                     The demonstration  diskette is  NOT a  complete working
  637.                version, the following features are not implemented yet, but
  638.                they WILL be included in the final version:
  639.            
  640.                -    The SELECT command will select  other weapons, but each
  641.                     weapon has the same abilities (same range, same damage,
  642.                     same re-load speed). 
  643.            
  644.                -    Tank  weight  is   not  taken   into  account  yet,   a
  645.                     light-weight tank  chassis moves  the same  speed as  a
  646.                     heavy one. Also, you  can add all the options  you wish
  647.                     without penelty. 
  648.            
  649.                -    Moveing over a  swamp terrain does  not slow down  your
  650.                     tank as it should do.
  651.            
  652.                -    Not all the math commands are  in place, ADD does work,
  653.                     while SUB, MULT, DIV do not and are not recognized.
  654.  
  655.                -    MINES are not working, you cannot use these at all
  656.                     (PS. A radio mine  is a mine that transmits  it current
  657.                     location on a set channel before it blows up ... useful
  658.                     for tracking).
  659.            
  660.                -    All  tanks die  when they  have  recieved 30  points of
  661.                     damage.  In  the  final  version,  lighter  tanks  will
  662.                     destroy easier than heavier ones.
  663.            
  664.                -    Unlimited shots. In the final  version, your would only
  665.                     have a certain number of shots with each weapon.
  666.            
  667.                     Here is a  list of some other  ideas I have planned  to
  668.                include in  the final version  of the game,  it is  in these
  669.                features that I can see the programs true flexability coming
  670.                through:
  671.            
  672.                -    Better looking graphics ... my  graphical talents are a
  673.                     bit lacking.
  674.            
  675.                -    Support  for  VGA
  676.            
  677.                -    Sound! I have not touched the  sound aspect of the game
  678.                     yet.
  679.            
  680.                -    A full program debugger for viewing program source code
  681.                     while in battle  (this will slow down combat speed, but
  682.                     it would definitely be required for the novice player).
  683.            
  684.                -    A new program editor. Now I am using a modified version
  685.                     of  MICROSTAR  from  the Borland  TURBO  PASCAL  editor
  686.                     toolbox.
  687.            
  688.                -    Split  screen  display for  viewing  two tanks  at once
  689.                     during combat.
  690.            
  691.                -    A variety of new battle commands including:
  692.                     LOOP      a command to provide FOR/NEXT loop abilities
  693.                     CONTACT   will tell if a fired shot hit it's target.
  694.                     and many more.
  695.            
  696.                -    Marking TEAM A  as a "good team"  and TEAM B as  a "bad
  697.                     team" for use with other features (see next upgrade).
  698.  
  699.                -    Some  simulator  controlled features,  such  as running
  700.                     villagers that  the tanks  can try  to rescue  or shoot
  701.                     (depending on their team), or rolling boulders, etc.
  702.  
  703.                -    A selection of  new tank  attachments such as  cloaking
  704.                     devices, pontoons  for swamp  travel, a  copter-top for
  705.                     air travel, etc.
  706.            
  707.                -    Expanded  program   text  commands  such   as  "INCLUDE
  708.                     filename", to include text from  another file or "CHAIN
  709.                     filename" to execute another pre-compiled tank file.
  710.            
  711.                     There are many other features that could be added,  but
  712.                for the purposes of this demo I have only mentioned a few.
  713.            
  714.                     I hope you enjoy  the game as must as I  have, and hope
  715.                to hear from you soon.
  716.  
  717.  
  718.                                                        Sandy Walsh
  719.  
  720.            
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.